Computing systems have traditionally been designed with a “front-side bus” between their processors and memory controller(s). High end computing systems typically include more than one processor so as to effectively increase the processing power of the computing system as a whole. Unfortunately, in computing systems where a single front-side bus connects multiple processors and a memory controller together, if two components that are connected to the bus transfer data/instructions between one another, then, all the other components that are connected to the bus must be “quiet” so as to not interfere with the transfer.
For instance, if four processors and a memory controller are connected to the same front-side bus, and, if a first processor transfers data or instructions to a second processor on the bus, then, the other two processors and the memory controller are forbidden from engaging in any kind of transfer on the bus. Bus structures also tend to have high capacitive loading which limits the maximum speed at which such transfers can be made. For these reasons, a front-side bus tends to act as a bottleneck within various computing systems and in multi-processor computing systems in particular.
In recent years computing system designers have begun to embrace the notion of replacing the front-side bus with a network. FIG. 1 shows an approach where the front-side bus is essentially replaced with a network 104a having point-to-point links between each one of processors 101_1 through 101_N and memory controller 102. The presence of the network 104a permits simultaneous data/instruction exchanges between different pairs of communicating components that are coupled to the network 104a. For example, processor 101_1 and memory controller 102 could be involved in a data/instruction transfer during the same time period in which processor 101_3 and processor 101_4 are involved in a data/instruction transfer. While providing a performance advantage, point-to-point link based systems typically are less power efficient than front-side bus systems.
Computing systems that embrace a network in lieu of a front-side bus may extend the network to include other regions of the computing system 104b such as one or more point-to-point links between the memory controller 102 and any of the computing system's I/O devices (e.g., network interface, hard-disk file, etc.).